<?php namespace Admin\Controller;

/*分类控制器*/
class CategoryController extends CommonController
{
	/*属性*/
	protected $db;
	/*构造方法 实例化*/
	public function __init()
	{
		$this->db = new \Common\Model\Category;
	}
	
	/*分类列表 首页*/
	public function index()
	{
		/*获取所有的数据*/
		$data = $this->db->orderBy("csort","ASC")->get(); 
		//注意Data::tree里面第三个参数和第四个参数，默认是cid和pid
		$data = Data::tree($data,"cname");
//		p($data);
		/*分离变量*/
		View::with("data",$data);
		
		View::make();
	}
	/*添加分类*/
	public function add()
	{
		/*ajax*/
		if(IS_AJAX)
		{			
			if(!$this->db->store())
			{
				/*如果添加失败*/
				View::ajax(array('status'=>0,'message'=>$this->db->getError()));
			}else{
				//如果添加成功
				View::ajax(array('status'=>1,'message'=>"添加成功"));
			}
		}

		View::make();
	}
	/* 添加子分类*/
	
	public function addSon()
	{
		if(IS_AJAX)
		{
			if(!$this->db->store())
			{
				//如果添加失败
				View::ajax(array('status'=>0,'message'=>$this->db->getError()));	
			}else{
				//如果添加成功
				View::ajax(array('status'=>1,'message'=>"添加子类成功"));
			}
		}
		/*处理所属的分类*/
		/*先获取目前要添加所属分类的序号cid*/
		$cid = Q("get.cid",0,'intval');
//		p($cid);
		/*查询表中cid，只获取Cid与cname*/
		$cateData = $this->db->where("cid",$cid)->field("cid,cname")->first();
		
		/*分离变量*/
		View::with('cateData',$cateData);
		View::make();
	}
	/*编辑*/
	public function edit()
	{
		if(IS_AJAX)
		{
			if($this->db->edit())
			{
				//如果添加失败
				View::ajax(array('status'=>0,'message'=>$this->db->getError()));	
			}else{
				//如果添加成功
				View::ajax(array('status'=>1,'message'=>"编辑成功"));
			}
		}
		/*1.获取要编辑旧数据  */
		$cid = Q("get.cid",0,'intval');
		$oldData = $this->db->where('cid',$cid)->first();
		/*2.分离变量 写入html页面*/
		View::with('oldData',$oldData);
//		p($oldData);
		/*处理所属分类*///getCataData方法
		
		$cateData = $this->db->getCataData($cid);
//		var_dump($cateData);
		//分配数据
		View::with('cateData',$cateData);
//		p($cateData);
		View::make();
	}
	
	
	/*删除*/
	public function del()
	{
		//获取要删除是那一条数据
		$cid = 	Q("get.cid",0,'inval');
//		p($cid);die;
		/*执行删除*/
		$this->db->del($cid);
		//执行跳转
		$this->success("删除成功",U('index'));
	}
	
}
























